home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / prog_d / tpop3.zip / POP3.INT < prev    next >
Text File  |  1996-04-12  |  2KB  |  77 lines

  1. {$DEFINE UNREGISTERED}
  2. unit Pop3;
  3.  
  4. interface
  5.  
  6. uses
  7.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  8.   Forms, Dialogs, Winsock, ExtCtrls, MailBase, MsgUtils, MailUtil;
  9.  
  10. type
  11.   TEncoding = (etUU,etMIME);
  12.  
  13.   TPOP3Status = (psIdle,psLogIn,psResolving,psConnecting,
  14.              psRetrieving,psDeleting,psLogOut,psCancel,psTimeOut);
  15.  
  16.   TMailMessage = class
  17.   protected
  18.     Headers : TStrings;
  19.     TempLines : TStrings;
  20.   public
  21.     From : string;
  22.     Subject : string;
  23.     Size : LongInt;
  24.     Body : TMemoryStream;
  25.     constructor Create;
  26.     destructor Destroy; override;
  27.     procedure FillBody(AStream : TStream);
  28.     procedure FillFields;
  29.   end;
  30.  
  31.   TPOP3 = class(TMailBase)
  32.   private
  33.     { Private declarations }
  34.     FUserName : string;
  35.     FPassword : string;
  36.     FTotalMessages : Integer;
  37.     FTotalOctets : LongInt;
  38.     FStatus : TPOP3Status;
  39.     FOnStatusChange : TNotifyEvent;
  40.     procedure DoStatusChange(Sender : TObject);
  41.   protected
  42.     { Protected declarations }
  43.     ControlOn : boolean;
  44.     WSInitCount : Integer;
  45.     procedure SendLine(const s : string);
  46.     procedure RecvLine(var s : string);
  47.     procedure RecvBody(SL : TStream);
  48.     procedure ReInit; override;
  49.   public
  50.     { Public declarations }
  51.     MailMessages : TStrings;
  52.     constructor Create(AOwner : TComponent); override;
  53.     destructor Destroy; override;
  54.     procedure Cancel; override;
  55.     procedure Open; override;
  56.     procedure LogIn;
  57.     procedure GetStatistics;
  58.     procedure LogOut;
  59.     procedure GetMessages;
  60.     procedure DeleteMessages;
  61.     property TotalMessages : Integer read FTotalMessages;
  62.     property TotalOctets : LongInt read FTotalOctets;
  63.     property Status : TPOP3Status read FStatus;
  64.   published
  65.     { Published declarations }
  66.     property UserName : string read FUserName write FUserName;
  67.     property Password : string read FPassword write FPassword;
  68.     property DefaultPort;
  69.     property OnStatusChange : TNotifyEvent read FOnStatusChange
  70.                                  write FOnStatusChange;
  71.   end;
  72.  
  73. procedure Register;
  74.  
  75. implementation
  76.  
  77.